estimating noise level from a single image:
the main function is: NoiseEstimation.m

an example to use it is:
   %==============================================================
close all
clear all
Img=loadimg;
[Filter_NLFR, Filter_NLFG, Filter_NLFB, Xmean,Xstd,blen, Valid,minfval]= NoiseEstimation(Img);
imshow(Img);
figure
plot([0:1/1023:1],Filter_NLFR,'r', Xmean(1,1:blen(1))/255, Xstd(1,1:blen(1)),'ro');
figure
plot([0:1/1023:1],Filter_NLFG,'g', Xmean(2,1:blen(2))/255, Xstd(2,1:blen(2)),'go');
figure
plot([0:1/1023:1],Filter_NLFB,'b', Xmean(3,1:blen(3))/255, Xstd(3,1:blen(3)),'bo');
%=============================


